﻿namespace EnergyGeneratorSimVisualizer.ViewModels
{
    using EnergyGeneratorSim.Parameters;

    public class PermanentMagnetParametersViewModel : ViewModelBase
    {
        private PermanentMagnetParameters permanentMagnet;

        public PermanentMagnetParametersViewModel(PermanentMagnetParameters param)
        {
            this.permanentMagnet = param;
        }

        /// <summary>
        /// Gets or sets the BSW.
        /// Magnetfeld-Speicherung nach *1 von S.2 in Zentimeter-Schritten
        /// </summary>
        /// <value>The BSW.</value>
        public double Bsw
        {
            get
            {
                return this.permanentMagnet.Bsw;
            }
            set
            {
                this.permanentMagnet.Bsw = value;
                this.NotifyPropertyChanged(x => x.Bsw);
            }
        }

        /// <summary>
        /// Gets or sets the M eyo.
        /// y-Koordinaten der Magnetfeld-Emulationsspulen nach *1 von S.5
        /// </summary>
        /// <value>The M eyo.</value>
        public double MEyo
        {
            get
            {
                return this.permanentMagnet.MEyo;
            }
            set
            {
                this.permanentMagnet.MEyo = value;
                this.NotifyPropertyChanged(x => x.MEyo);
            }
        }


        /// <summary>
        /// Gets or sets the M ero.
        /// Radius der Magnetfeld-Emulationsspulen nach *1 von S.5  
        /// </summary>
        /// <value>The M ero.</value>
        public double MEro
        {
            get
            {
                return this.permanentMagnet.MEro;
            }
            set
            {
                this.permanentMagnet.MEro = value;
                this.NotifyPropertyChanged(x => x.MEro);
            }
        }

        /// <summary>
        /// Gets or sets the MEI.
        /// Strom des Magnetfeld-Emulationsspulenpaares nach *1 von S.5, Angabe in Ampere
        /// </summary>
        /// <value>The MEI.</value>
        public double MEI
        {
            get
            {
                return this.permanentMagnet.MEI;
            }
            set
            {
                this.permanentMagnet.MEI = value;
                this.NotifyPropertyChanged(x => x.MEI);
            }
        }
    }
}
